home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / Printing.a < prev    next >
Encoding:
Text File  |  1998-02-12  |  18.3 KB  |  624 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Printing.a
  3. ;
  4. ;    Contains:    Print Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.1
  8. ;
  9. ;    Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__PRINTING__') = 'UNDEFINED' THEN
  19. __PRINTING__ SET 1
  20.  
  21.     IF &TYPE('__ERRORS__') = 'UNDEFINED' THEN
  22.     include 'Errors.a'
  23.     ENDIF
  24.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  25.     include 'Quickdraw.a'
  26.     ENDIF
  27.     IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
  28.     include 'Dialogs.a'
  29.     ENDIF
  30.  
  31.  
  32. iPFMaxPgs                        EQU        128
  33. iPrPgFract                        EQU        120                    ;Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract
  34. iPrPgFst                        EQU        1                    ;Page range constants
  35. iPrPgMax                        EQU        9999
  36. iPrRelease                        EQU        3                    ;Current version number of the code.
  37. iPrSavPFil                        EQU        -1
  38. iPrAbort                        EQU        $0080
  39. iPrDevCtl                        EQU        7                    ;The PrDevCtl Proc's ctl number
  40. lPrReset                        EQU        $00010000            ;The PrDevCtl Proc's CParam for reset
  41. lPrLineFeed                        EQU        $00030000
  42. lPrLFStd                        EQU        $0003FFFF            ;The PrDevCtl Proc's CParam for std paper advance
  43. lPrLFSixth                        EQU        $0003FFFF
  44. lPrPageEnd                        EQU        $00020000            ;The PrDevCtl Proc's CParam for end page
  45. lPrDocOpen                        EQU        $00010000
  46. lPrPageOpen                        EQU        $00040000
  47. lPrPageClose                    EQU        $00020000
  48. lPrDocClose                        EQU        $00050000
  49. iFMgrCtl                        EQU        8                    ;The FMgr's Tail-hook Proc's ctl number
  50. iMscCtl                            EQU        9                    ;The FMgr's Tail-hook Proc's ctl number
  51. iPvtCtl                            EQU        10                    ;The FMgr's Tail-hook Proc's ctl number
  52. ;     Error Codes moved to Errors.(hap) 
  53.  
  54. pPrGlobals                        EQU        $00000944            ;The PrVars lo mem area:
  55. bDraftLoop                        EQU        0
  56. bSpoolLoop                        EQU        1
  57. bUser1Loop                        EQU        2
  58. bUser2Loop                        EQU        3
  59. fNewRunBit                        EQU        2
  60. fHiResOK                        EQU        3
  61. fWeOpenedRF                        EQU        4                    ;Driver constants 
  62. iPrBitsCtl                        EQU        4
  63. lScreenBits                        EQU        0
  64. lPaintBits                        EQU        1
  65. lHiScreenBits                    EQU        $00000002            ;The Bitmap Print Proc's Screen Bitmap param
  66. lHiPaintBits                    EQU        $00000003            ;The Bitmap Print Proc's Paint [sq pix] param
  67. iPrIOCtl                        EQU        5
  68. iPrEvtCtl                        EQU        6                    ;The PrEvent Proc's ctl number
  69. lPrEvtAll                        EQU        $0002FFFD            ;The PrEvent Proc's CParam for the entire screen
  70. lPrEvtTop                        EQU        $0001FFFD            ;The PrEvent Proc's CParam for the top folder
  71. iPrDrvrRef                        EQU        -3
  72.  
  73. getRslDataOp                    EQU        4
  74. setRslOp                        EQU        5
  75. draftBitsOp                        EQU        6
  76. noDraftBitsOp                    EQU        7
  77. getRotnOp                        EQU        8
  78. NoSuchRsl                        EQU        1
  79. OpNotImpl                        EQU        2                    ;the driver doesn't support this opcode
  80. RgType1                            EQU        1
  81.  
  82. feedCut                            EQU        0
  83. feedFanfold                        EQU        1
  84. feedMechCut                        EQU        2
  85. feedOther                        EQU        3
  86. ; typedef SInt8                         TFeed
  87.  
  88.  
  89. scanTB                            EQU        0
  90. scanBT                            EQU        1
  91. scanLR                            EQU        2
  92. scanRL                            EQU        3
  93. ; typedef SInt8                         TScan
  94.  
  95. ;  A Rect Ptr 
  96. ; typedef struct Rect *                    TPRect
  97.  
  98. TPrPort                    RECORD 0
  99. gPort                     ds        GrafPort        ; offset: $0 (0)        ; The Printer's graf port.
  100. gProcs                     ds        QDProcs            ; offset: $6C (108)        ; ..and its procs
  101. lGParam1                 ds.l    1                ; offset: $A0 (160)        ; 16 bytes for private parameter storage.
  102. lGParam2                 ds.l    1                ; offset: $A4 (164)
  103. lGParam3                 ds.l    1                ; offset: $A8 (168)
  104. lGParam4                 ds.l    1                ; offset: $AC (172)
  105. fOurPtr                     ds.b    1                ; offset: $B0 (176)        ; Whether the PrPort allocation was done by us.
  106. fOurBits                 ds.b    1                ; offset: $B1 (177)        ; Whether the BitMap allocation was done by us.
  107. sizeof                     EQU *                    ; size:   $B2 (178)
  108.                         ENDR
  109. ; typedef struct TPrPort *                TPPrPort
  110.  
  111. ; typedef struct TPrPort *                TPPrPortRef
  112.  
  113. ;  Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
  114. ;  This is the "PrPeek" record. 
  115. TPrInfo                    RECORD 0
  116. iDev                     ds.w    1                ; offset: $0 (0)        ; Font mgr/QuickDraw device code
  117. iVRes                     ds.w    1                ; offset: $2 (2)        ; Resolution of device, in device coordinates
  118. iHRes                     ds.w    1                ; offset: $4 (4)        ; ..note: V before H => compatable with Point.
  119. rPage                     ds        Rect            ; offset: $6 (6)        ; The page (printable) rectangle in device coordinates.
  120. sizeof                     EQU *                    ; size:   $E (14)
  121.                         ENDR
  122. ; typedef struct TPrInfo *                TPPrInfo
  123.  
  124. ;  Print Info Record: The parameters needed for page composition. 
  125. TPrStl                    RECORD 0
  126. wDev                     ds.w    1                ; offset: $0 (0)
  127. iPageV                     ds.w    1                ; offset: $2 (2)
  128. iPageH                     ds.w    1                ; offset: $4 (4)
  129. bPort                     ds.b    1                ; offset: $6 (6)
  130. feed                     ds.b    1                ; offset: $7 (7)
  131. sizeof                     EQU *                    ; size:   $8 (8)
  132.                         ENDR
  133. ; typedef struct TPrStl *                TPPrStl
  134.  
  135. TPrXInfo                RECORD 0
  136. iRowBytes                 ds.w    1                ; offset: $0 (0)
  137. iBandV                     ds.w    1                ; offset: $2 (2)
  138. iBandH                     ds.w    1                ; offset: $4 (4)
  139. iDevBytes                 ds.w    1                ; offset: $6 (6)
  140. iBands                     ds.w    1                ; offset: $8 (8)
  141. bPatScale                 ds.b    1                ; offset: $A (10)
  142. bUlThick                 ds.b    1                ; offset: $B (11)
  143. bUlOffset                 ds.b    1                ; offset: $C (12)
  144. bUlShadow                 ds.b    1                ; offset: $D (13)
  145. scan                     ds.b    1                ; offset: $E (14)
  146. bXInfoX                     ds.b    1                ; offset: $F (15)
  147. sizeof                     EQU *                    ; size:   $10 (16)
  148.                         ENDR
  149. ; typedef struct TPrXInfo *                TPPrXInfo
  150.  
  151. TPrJob                    RECORD 0
  152. iFstPage                 ds.w    1                ; offset: $0 (0)        ; Page Range.
  153. iLstPage                 ds.w    1                ; offset: $2 (2)
  154. iCopies                     ds.w    1                ; offset: $4 (4)        ; No. copies.
  155. bJDocLoop                 ds.b    1                ; offset: $6 (6)        ; The Doc style: Draft, Spool, .., and ..
  156. fFromUsr                 ds.b    1                ; offset: $7 (7)        ; Printing from an User's App (not PrApp) flag
  157. pIdleProc                 ds.l    1                ; offset: $8 (8)        ; The Proc called while waiting on IO etc.
  158. pFileName                 ds.l    1                ; offset: $C (12)        ; Spool File Name: NIL for default.
  159. iFileVol                 ds.w    1                ; offset: $10 (16)        ; Spool File vol, set to 0 initially
  160. bFileVers                 ds.b    1                ; offset: $12 (18)        ; Spool File version, set to 0 initially
  161. bJobX                     ds.b    1                ; offset: $13 (19)        ; An eXtra byte.
  162. sizeof                     EQU *                    ; size:   $14 (20)
  163.                         ENDR
  164. ; typedef struct TPrJob *                TPPrJob
  165.  
  166. ;  Print Job: Print "form" for a single print request. 
  167. TPrint                    RECORD 0
  168. iPrVersion                 ds.w    1                ; offset: $0 (0)        ; (2) Printing software version
  169. prInfo                     ds        TPrInfo            ; offset: $2 (2)        ; (14) the PrInfo data associated with the current style.
  170. rPaper                     ds        Rect            ; offset: $10 (16)        ; (8) The paper rectangle [offset from rPage]
  171. prStl                     ds        TPrStl            ; offset: $18 (24)        ; (8)  This print request's style.
  172. prInfoPT                 ds        TPrInfo            ; offset: $20 (32)        ; (14)  Print Time Imaging metrics
  173. prXInfo                     ds        TPrXInfo        ; offset: $2E (46)        ; (16)  Print-time (expanded) Print info record.
  174. prJob                     ds        TPrJob            ; offset: $3E (62)        ; (20) The Print Job request (82)  Total of the above; 120-82 = 38 bytes needed to fill 120
  175. printX                     ds.w    19                ; offset: $52 (82)        ; Spare to fill to 120 bytes!
  176. sizeof                     EQU *                    ; size:   $78 (120)
  177.                         ENDR
  178. ; typedef struct TPrint *                TPPrint
  179.  
  180. ; typedef TPPrint *                        THPrint
  181.  
  182. TPrStatus                RECORD 0
  183. iTotPages                 ds.w    1                ; offset: $0 (0)        ; Total pages in Print File.
  184. iCurPage                 ds.w    1                ; offset: $2 (2)        ; Current page number
  185. iTotCopies                 ds.w    1                ; offset: $4 (4)        ; Total copies requested
  186. iCurCopy                 ds.w    1                ; offset: $6 (6)        ; Current copy number
  187. iTotBands                 ds.w    1                ; offset: $8 (8)        ; Total bands per page.
  188. iCurBand                 ds.w    1                ; offset: $A (10)        ; Current band number
  189. fPgDirty                 ds.b    1                ; offset: $C (12)        ; True if current page has been written to.
  190. fImaging                 ds.b    1                ; offset: $D (13)        ; Set while in band's DrawPic call.
  191. hPrint                     ds.l    1                ; offset: $E (14)        ; Handle to the active Printer record
  192. pPrPort                     ds.l    1                ; offset: $12 (18)        ; Ptr to the active PrPort
  193. hPic                     ds.l    1                ; offset: $16 (22)        ; Handle to the active Picture
  194. sizeof                     EQU *                    ; size:   $1A (26)
  195.                         ENDR
  196. ; typedef struct TPrStatus *            TPPrStatus
  197.  
  198. ; typedef struct TPrStatus *            TPPrStatusRef
  199.  
  200.  
  201. ;  Print Status: Print information during printing. 
  202. TPfPgDir                RECORD 0
  203. iPages                     ds.w    1                ; offset: $0 (0)
  204. iPgPos                     ds.l    129                ; offset: $2 (2)        ; ARRAY [0..iPfMaxPgs] OF LONGINT
  205. sizeof                     EQU *                    ; size:   $206 (518)
  206.                         ENDR
  207. ; typedef struct TPfPgDir *                TPPfPgDir
  208.  
  209. ; typedef TPPfPgDir *                    THPfPgDir
  210.  
  211. ;  PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) 
  212. ;  This is the Printing Dialog Record. Only used by folks appending their own
  213. ;   DITLs to the print dialogs.    Print Dialog: The Dialog Stream object. 
  214. TPrDlg                    RECORD 0
  215. Dlg                         ds        DialogRecord    ; offset: $0 (0)        ; The Dialog window
  216. pFltrProc                 ds.l    1                ; offset: $AA (170)        ; The Filter Proc.
  217. pItemProc                 ds.l    1                ; offset: $AE (174)        ; The Item evaluating proc.
  218. hPrintUsr                 ds.l    1                ; offset: $B2 (178)        ; The user's print record.
  219. fDoIt                     ds.b    1                ; offset: $B6 (182)
  220. fDone                     ds.b    1                ; offset: $B7 (183)
  221. lUser1                     ds.l    1                ; offset: $B8 (184)        ; Four longs for apps to hang global data.
  222. lUser2                     ds.l    1                ; offset: $BC (188)        ; Plus more stuff needed by the particular
  223. lUser3                     ds.l    1                ; offset: $C0 (192)        ; printing dialog.
  224. lUser4                     ds.l    1                ; offset: $C4 (196)
  225. sizeof                     EQU *                    ; size:   $C8 (200)
  226.                         ENDR
  227. ; typedef struct TPrDlg *                TPPrDlg
  228.  
  229. ; typedef struct TPrDlg *                TPPrDlgRef
  230.  
  231. TGnlData                RECORD 0
  232. iOpCode                     ds.w    1                ; offset: $0 (0)
  233. iError                     ds.w    1                ; offset: $2 (2)
  234. lReserved                 ds.l    1                ; offset: $4 (4)        ; more fields here depending on call
  235. sizeof                     EQU *                    ; size:   $8 (8)
  236.                         ENDR
  237. TRslRg                    RECORD 0
  238. iMin                     ds.w    1                ; offset: $0 (0)
  239. iMax                     ds.w    1                ; offset: $2 (2)
  240. sizeof                     EQU *                    ; size:   $4 (4)
  241.                         ENDR
  242. TRslRec                    RECORD 0
  243. iXRsl                     ds.w    1                ; offset: $0 (0)
  244. iYRsl                     ds.w    1                ; offset: $2 (2)
  245. sizeof                     EQU *                    ; size:   $4 (4)
  246.                         ENDR
  247. TGetRslBlk                RECORD 0
  248. iOpCode                     ds.w    1                ; offset: $0 (0)
  249. iError                     ds.w    1                ; offset: $2 (2)
  250. lReserved                 ds.l    1                ; offset: $4 (4)
  251. iRgType                     ds.w    1                ; offset: $8 (8)
  252. xRslRg                     ds        TRslRg            ; offset: $A (10)
  253. yRslRg                     ds        TRslRg            ; offset: $E (14)
  254. iRslRecCnt                 ds.w    1                ; offset: $12 (18)
  255. rgRslRec                 ds.b    27 * TRslRec.sizeof ; offset: $14 (20)
  256. sizeof                     EQU *                    ; size:   $80 (128)
  257.                         ENDR
  258. TSetRslBlk                RECORD 0
  259. iOpCode                     ds.w    1                ; offset: $0 (0)
  260. iError                     ds.w    1                ; offset: $2 (2)
  261. lReserved                 ds.l    1                ; offset: $4 (4)
  262. hPrint                     ds.l    1                ; offset: $8 (8)
  263. iXRsl                     ds.w    1                ; offset: $C (12)
  264. iYRsl                     ds.w    1                ; offset: $E (14)
  265. sizeof                     EQU *                    ; size:   $10 (16)
  266.                         ENDR
  267. TDftBitsBlk                RECORD 0
  268. iOpCode                     ds.w    1                ; offset: $0 (0)
  269. iError                     ds.w    1                ; offset: $2 (2)
  270. lReserved                 ds.l    1                ; offset: $4 (4)
  271. hPrint                     ds.l    1                ; offset: $8 (8)
  272. sizeof                     EQU *                    ; size:   $C (12)
  273.                         ENDR
  274. TGetRotnBlk                RECORD 0
  275. iOpCode                     ds.w    1                ; offset: $0 (0)
  276. iError                     ds.w    1                ; offset: $2 (2)
  277. lReserved                 ds.l    1                ; offset: $4 (4)
  278. hPrint                     ds.l    1                ; offset: $8 (8)
  279. fLandscape                 ds.b    1                ; offset: $C (12)
  280. bXtra                     ds.b    1                ; offset: $D (13)
  281. sizeof                     EQU *                    ; size:   $E (14)
  282.                         ENDR
  283. ;
  284. ; pascal void PrPurge(void )
  285. ;
  286.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  287.         Macro
  288.         _PrPurge
  289.             move.l              #$A8000000,-(sp)
  290.             dc.w                $A8FD
  291.         EndM
  292.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  293.         IMPORT_CFM_FUNCTION PrPurge
  294.     ENDIF
  295.  
  296. ;
  297. ; pascal void PrNoPurge(void )
  298. ;
  299.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  300.         Macro
  301.         _PrNoPurge
  302.             move.l              #$B0000000,-(sp)
  303.             dc.w                $A8FD
  304.         EndM
  305.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  306.         IMPORT_CFM_FUNCTION PrNoPurge
  307.     ENDIF
  308.  
  309. ;
  310. ; pascal void PrOpen(void )
  311. ;
  312.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  313.         Macro
  314.         _PrOpen
  315.             move.l              #$C8000000,-(sp)
  316.             dc.w                $A8FD
  317.         EndM
  318.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  319.         IMPORT_CFM_FUNCTION PrOpen
  320.     ENDIF
  321.  
  322. ;
  323. ; pascal void PrClose(void )
  324. ;
  325.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  326.         Macro
  327.         _PrClose
  328.             move.l              #$D0000000,-(sp)
  329.             dc.w                $A8FD
  330.         EndM
  331.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  332.         IMPORT_CFM_FUNCTION PrClose
  333.     ENDIF
  334.  
  335. ;
  336. ; pascal void PrintDefault(THPrint hPrint)
  337. ;
  338.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  339.         Macro
  340.         _PrintDefault
  341.             move.l              #$20040480,-(sp)
  342.             dc.w                $A8FD
  343.         EndM
  344.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  345.         IMPORT_CFM_FUNCTION PrintDefault
  346.     ENDIF
  347.  
  348. ;
  349. ; pascal Boolean PrValidate(THPrint hPrint)
  350. ;
  351.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  352.         Macro
  353.         _PrValidate
  354.             move.l              #$52040498,-(sp)
  355.             dc.w                $A8FD
  356.         EndM
  357.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  358.         IMPORT_CFM_FUNCTION PrValidate
  359.     ENDIF
  360.  
  361. ;
  362. ; pascal Boolean PrStlDialog(THPrint hPrint)
  363. ;
  364.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  365.         Macro
  366.         _PrStlDialog
  367.             move.l              #$2A040484,-(sp)
  368.             dc.w                $A8FD
  369.         EndM
  370.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  371.         IMPORT_CFM_FUNCTION PrStlDialog
  372.     ENDIF
  373.  
  374. ;
  375. ; pascal Boolean PrJobDialog(THPrint hPrint)
  376. ;
  377.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  378.         Macro
  379.         _PrJobDialog
  380.             move.l              #$32040488,-(sp)
  381.             dc.w                $A8FD
  382.         EndM
  383.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  384.         IMPORT_CFM_FUNCTION PrJobDialog
  385.     ENDIF
  386.  
  387. ;
  388. ; pascal TPPrDlgRef PrStlInit(THPrint hPrint)
  389. ;
  390.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  391.         Macro
  392.         _PrStlInit
  393.             move.l              #$3C04040C,-(sp)
  394.             dc.w                $A8FD
  395.         EndM
  396.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  397.         IMPORT_CFM_FUNCTION PrStlInit
  398.     ENDIF
  399.  
  400. ;
  401. ; pascal TPPrDlgRef PrJobInit(THPrint hPrint)
  402. ;
  403.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  404.         Macro
  405.         _PrJobInit
  406.             move.l              #$44040410,-(sp)
  407.             dc.w                $A8FD
  408.         EndM
  409.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  410.         IMPORT_CFM_FUNCTION PrJobInit
  411.     ENDIF
  412.  
  413. ;
  414. ; pascal void PrJobMerge(THPrint hPrintSrc, THPrint hPrintDst)
  415. ;
  416.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  417.         Macro
  418.         _PrJobMerge
  419.             move.l              #$5804089C,-(sp)
  420.             dc.w                $A8FD
  421.         EndM
  422.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  423.         IMPORT_CFM_FUNCTION PrJobMerge
  424.     ENDIF
  425.  
  426. ;
  427. ; pascal Boolean PrDlgMain(THPrint hPrint, PDlgInitUPP pDlgInit)
  428. ;
  429.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  430.         Macro
  431.         _PrDlgMain
  432.             move.l              #$4A040894,-(sp)
  433.             dc.w                $A8FD
  434.         EndM
  435.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  436.         IMPORT_CFM_FUNCTION PrDlgMain
  437.     ENDIF
  438.  
  439. ;
  440. ; pascal TPPrPortRef PrOpenDoc(THPrint hPrint, TPPrPortRef pPrPort, Ptr pIOBuf)
  441. ;
  442.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  443.         Macro
  444.         _PrOpenDoc
  445.             move.l              #$04000C00,-(sp)
  446.             dc.w                $A8FD
  447.         EndM
  448.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  449.         IMPORT_CFM_FUNCTION PrOpenDoc
  450.     ENDIF
  451.  
  452. ;
  453. ; pascal void PrCloseDoc(TPPrPortRef pPrPort)
  454. ;
  455.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  456.         Macro
  457.         _PrCloseDoc
  458.             move.l              #$08000484,-(sp)
  459.             dc.w                $A8FD
  460.         EndM
  461.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  462.         IMPORT_CFM_FUNCTION PrCloseDoc
  463.     ENDIF
  464.  
  465. ;
  466. ; pascal void PrOpenPage(TPPrPortRef pPrPort, TPRect pPageFrame)
  467. ;
  468.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  469.         Macro
  470.         _PrOpenPage
  471.             move.l              #$10000808,-(sp)
  472.             dc.w                $A8FD
  473.         EndM
  474.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  475.         IMPORT_CFM_FUNCTION PrOpenPage
  476.     ENDIF
  477.  
  478. ;
  479. ; pascal void PrClosePage(TPPrPortRef pPrPort)
  480. ;
  481.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  482.         Macro
  483.         _PrClosePage
  484.             move.l              #$1800040C,-(sp)
  485.             dc.w                $A8FD
  486.         EndM
  487.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  488.         IMPORT_CFM_FUNCTION PrClosePage
  489.     ENDIF
  490.  
  491. ;
  492. ; pascal void PrPicFile(THPrint hPrint, TPPrPortRef pPrPort, Ptr pIOBuf, Ptr pDevBuf, TPPrStatusRef prStatus)
  493. ;
  494.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  495.         Macro
  496.         _PrPicFile
  497.             move.l              #$60051480,-(sp)
  498.             dc.w                $A8FD
  499.         EndM
  500.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  501.         IMPORT_CFM_FUNCTION PrPicFile
  502.     ENDIF
  503.  
  504. ;
  505. ; pascal short PrError(void )
  506. ;
  507.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  508.         Macro
  509.         _PrError
  510.             move.l              #$BA000000,-(sp)
  511.             dc.w                $A8FD
  512.         EndM
  513.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  514.         IMPORT_CFM_FUNCTION PrError
  515.     ENDIF
  516.  
  517. ;
  518. ; pascal void PrSetError(short iErr)
  519. ;
  520.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  521.         Macro
  522.         _PrSetError
  523.             move.l              #$C0000200,-(sp)
  524.             dc.w                $A8FD
  525.         EndM
  526.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  527.         IMPORT_CFM_FUNCTION PrSetError
  528.     ENDIF
  529.  
  530. ;
  531. ; pascal void PrGeneral(Ptr pData)
  532. ;
  533.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  534.         Macro
  535.         _PrGeneral
  536.             move.l              #$70070480,-(sp)
  537.             dc.w                $A8FD
  538.         EndM
  539.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  540.         IMPORT_CFM_FUNCTION PrGeneral
  541.     ENDIF
  542.  
  543. ;
  544. ; pascal void PrDrvrOpen(void )
  545. ;
  546.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  547.         Macro
  548.         _PrDrvrOpen
  549.             move.l              #$80000000,-(sp)
  550.             dc.w                $A8FD
  551.         EndM
  552.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  553.         IMPORT_CFM_FUNCTION PrDrvrOpen
  554.     ENDIF
  555.  
  556. ;
  557. ; pascal void PrDrvrClose(void )
  558. ;
  559.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  560.         Macro
  561.         _PrDrvrClose
  562.             move.l              #$88000000,-(sp)
  563.             dc.w                $A8FD
  564.         EndM
  565.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  566.         IMPORT_CFM_FUNCTION PrDrvrClose
  567.     ENDIF
  568.  
  569. ;
  570. ; pascal void PrCtlCall(short iWhichCtl, long lParam1, long lParam2, long lParam3)
  571. ;
  572.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  573.         Macro
  574.         _PrCtlCall
  575.             move.l              #$A0000E00,-(sp)
  576.             dc.w                $A8FD
  577.         EndM
  578.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  579.         IMPORT_CFM_FUNCTION PrCtlCall
  580.     ENDIF
  581.  
  582. ;
  583. ; pascal Handle PrDrvrDCE(void )
  584. ;
  585.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  586.         Macro
  587.         _PrDrvrDCE
  588.             move.l              #$94000000,-(sp)
  589.             dc.w                $A8FD
  590.         EndM
  591.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  592.         IMPORT_CFM_FUNCTION PrDrvrDCE
  593.     ENDIF
  594.  
  595. ;
  596. ; pascal short PrDrvrVers(void )
  597. ;
  598.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  599.         Macro
  600.         _PrDrvrVers
  601.             move.l              #$9A000000,-(sp)
  602.             dc.w                $A8FD
  603.         EndM
  604.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  605.         IMPORT_CFM_FUNCTION PrDrvrVers
  606.     ENDIF
  607.  
  608. ;
  609. ; pascal short PrLoadDriver(void )
  610. ;
  611.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  612.         Macro
  613.         _PrLoadDriver
  614.             move.l              #$D8000000,-(sp)
  615.             dc.w                $A8FD
  616.         EndM
  617.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  618.         IMPORT_CFM_FUNCTION PrLoadDriver
  619.     ENDIF
  620.  
  621.  
  622.     ENDIF ; __PRINTING__ 
  623.  
  624.